package day_2022_12_to_3.year2023;

/**
 * @author haomin
 * @date 2023/04/06 22:58
 **/
public class Day4_5_Num2427 {
    class Solution {
        public int commonFactors(int a, int b) {
            // 辗转相除法求最大公约数，再枚举统计1到最大公约数区间内公约数的个数
            int res = 0;
            // 辗转相除求最大公约数。
            int rem = a % b;
            while(rem != 0){
                a = b;
                b = rem;
                rem = a % b;
            }
            // 最大公约数为b。枚举统计[1,b]区间内的公约数数量
            for(int i = 1; i <= b; ++i){
                res += a % i == 0 && b % i == 0 ? 1 : 0;
            }
            return res;
        }
    }
}